#include <bits/stdc++.h>
using namespace std;

int main()
{
	long long n = 0;
	long long t = 2021041820210418;
	long long* a = (long long*)malloc(sizeof(long long));
	for (long long i = 1; i <= sqrt(t); i++)
	{
		if (t % i == 0)
		{
			a[n++] = i;
			a = (long long*)realloc(a, sizeof(long long)*(n+1));
			if (i != t / i)
			{
				a[n++] = t / i;
				a = (long long*)realloc(a, sizeof(long long)*(n+1));
			}
		}
	} 
	int count = 0;
	for (int i = 0; i < n; i++)
	{
		printf("%lld ", a[i]);
	}
	printf("\n");
	for (long long i = 0; i < n; i++)
	{
		for (long long j = 0; j < n; j++)
		{
			for (long long k = 0; k < n; k++)
			{
				if (a[i]*a[j]*a[k] == 2021041820210418)
				{
					count++;
				}
			}
		}
	}
	cout << count << endl;
	return 0;
}
